 | | ONTOLOGÍAS |
“Una ontología es una especificación formal y explícita de una conceptualización compartida” (Thomas Gruber)
“¿Qué hay? Todo” (Quine)
“Ser es ser el valor de una variable” (Quine)
“No hay entidad sin identidad” (Quine)
Definición de ontología
En informática, una ontología es un conjunto de conceptos y relaciones entre ellos para modelar, fundamentar, describir y representar un dominio de conocimiento. El sinónimo más usual del término “ontología” es “conceptualización”.
En la literatura existen muchas definiciones de ontología:
- “Un instrumento que define los términos básicos y relaciones a partir del vocabulario de un área, así como las reglas de combinación de estos términos para definir extensiones del vocabulario [Neches, 1991].
- “Una ontología es una base de datos que describe los conceptos generales o sobre un dominio, algunas de sus propiedades y cómo los conceptos se relacionan unos con otros” [Weingand, 1997].
- “Una ontología es una representación explícita de una conceptualización cognitiva, es decir, la descripción de los componentes de conocimiento relevantes en el ámbito de la modelización” [Breuker, 1999].
La definición de ontología en informática que se considera la más adecuada fue la que propuso Thomas Gruber es su artículo Toward Principles for the Design of Ontologies Used for Knowledge Sharing: “Una ontología es una especificación formal y explícita de una conceptualización compartida” [Gruber, 1995].
En esta definición, “conceptualización” se refiere a un marco o modelo de un dominio del que se identifican los conceptos relevantes. “Compartida” se refiere a que el conocimiento que captura la ontología debe tener el consenso de una comunidad. “Especificación formal y explícita” significa que debe utilizarse un lenguaje formal de representación para que los conceptos utilizados y sus relaciones sean explícitos.
Históricamente, las ontologías han surgido de la metafísica, una rama de la filosofía que trata de la naturaleza trascendente de la realidad, de la esencia oculta tras todo lo que existe. El término “Ontología” proviene del griego ontos (ser). Se puede considerar que las ontologías informáticas son una clase de “filosofía aplicada”.
Los filósofos han debatido largamente sobre los posibles métodos para descubrir, describir y construir ontologías. En cambio, los informáticos han construido ontologías a nivel práctico sin apenas debate sobre sus fundamentos teóricos.
Las ontologías se han convertido en un campo de interés común en muchos campos: ingeniería de software, ingeniería del conocimiento, representación del conocimiento, bases de conocimientos, inteligencia artificial, web semántica, proceso del lenguaje natural, etc. La razón de tanto interés estriba en que las ontologías constituyen un punto de encuentro entre la mente humana y la máquina.
Características de las ontologías
- No hay una única forma de modelar ontológicamente un dominio. Depende de la aplicación. Un dominio puede ser interpretado y representado de muchas formas, mediante diferentes ontologías, según el propósito que se persiga. Toda ontología representa una cierta visión del mundo o paradigma de un dominio. Una ontología no debe contener todo lo que se conoce del dominio, solo debe contener lo necesario para la aplicación.
- La ontología de un dominio permite establecer una base firme capturar el conocimiento de ese dominio. Hace explícito el fundamento conceptual de un dominio, su estructura y relaciones. Separanel conocimiento descriptivo del operativo, y proporciona el fundamento para razonar e inferir en el dominio.
- Una ontología de un dominio debe ser clara, objetiva, coherente y extensible o generalizable.
- Los modelos de ontologías son más sólidos y profundos que los modelos basados en información. La ontología debe ser el fundamento para la estructuración de la información.
- Hay que distinguir entre ontología y base de conocimientos. La ontología describe los conceptos y sus relaciones. La base de conocimientos describe las instancias, los datos.
- Los conceptos componentes de una ontología no son definibles formalmente. Son los axiomas conceptuales del dominio, a partir de los cuales se modela el dominio.
- Las ontologías favorecen la generalización de un dominio. Y cuando hay conceptos comunes o un modelo conceptual común facilitan la interconexión entre dominios particulares y la interoperabilidad entre sistemas de software.
- El enfoque ontológico es de tipo top-down: de lo general (los conceptos) a lo particular (las propiedades y las instancias). En general, desde lo profundo a lo superficial, desde lo general a lo particular.
- Hay ontologías genéricas, de dominio y representacionales. Las ontologías genéricas están formadas por conceptos abstractos. Las ontologías de dominio se basan en conceptos concretos. Las ontologías representacionales son conceptualizaciones que subyacen en los formalismos de representación del conocimiento, por lo que también se denominan “meta-ontologías”, es decir, ontologías que hacen referencia a ontologías.
Componentes de una ontología
Los componentes de una ontología de un dominio son:
- Clases. Representan los conceptos del dominio.
- Elementos o instancias de las clases.
- Propiedades de los elementos de las clases.
- Axiomas. Son relaciones generales entre clases y/o propiedades.
- Relaciones específicas entre clases, propiedades y elementos del dominio. Esas relaciones pueden ser reglas, procesos, eventos, funciones, etc.
Características:
- La definición de una ontología en un dominio implica la creación de un vocabulario para definir las clases y las propiedades.
- Las clases constituyen los pilares de una ontología. Las clases pueden ser disjuntas o no, según tengan o no elementos comunes. La granularidad de una ontología se refiere al número de clases de la ontología.
- Las clases de una ontología están relacionadas y forman una estructura. Esa estructura puede ser jerárquica, no jerárquica o mixta (parcialmente jerárquica). La jerarquía se articula sobre la relación “is a” (es un/una): una clase A es una subclase de B si cada instancia de B es también una instancia de A. La relación de subclase es transitiva.
- Una clase puede tener varias subclases. Las subclases heredan las propiedades de las clase a la que pertenecen, pero puede haber propiedades adicionales específicas en cada subclase. Una clase puede ser subclase de varias clases y tener herencia múltiple.
Una propiedad puede tener subpropiedades. Un elemento puede tener subelementos. En definitiva, puede haber diferentes niveles jerárquicos en los componentes de una ontología.
- Los conceptos suelen ser difusos, sin una frontera perfectamente definida. Por ejemplo, una silla puede tener propiedades (altura, número de patas, etc.) en la frontera con un sillón. En cambio, las clases deben estar perfectamente definidas.
También existe una frontera difusa entre clase y propiedad. Por ejemplo, “vino tinto” puede considerarse una clase, o bien considerar que existe una clase llamada “vino” con la propiedad de ser tinto, blanco o rosado.
- En una ontología hay conceptos primitivos y derivados. Un concepto primitivo es el que no puede definirse mediante otros conceptos. Un concepto derivado es el que se puede definirse mediante conceptos primitivos.
- Las propiedades pueden ser intrínsecas o extrínsecas. Una propiedad intrínseca es la que pertenece siempre a los elementos de una clase. Una propiedad extrínseca es la que no pertenece a su esencia. Por ejemplo, la propiedad de un vino de ser tinto es intrínseca. La propiedad de un vino de estar frío es extrínseca.
- Las propiedades están sujetas a restricciones: el tipo de valor, su cardinalidad (uno o más valores), el rango de valores posibles, el valor por defecto, etc. Además, el valor (o valores) de una propiedad de una clase puede depender de uno o varios valores de otras propiedades de la misma o diferente clase.
El problema ontológico
Con el objeto de hacer comprensible el mundo y dar sentido a todo lo que nos rodea, el ser humano concibe y postula todo tipo de entidades:
- Concretas, como este árbol, esta mesa, etc.
- Abstractas, como amistad, compasión, etc.
- Físicas, como átomos, energía oscura, materia oscura, ondas gravitacionales, el planeta Vulcano, etc.
- Biológicas, como genes, órganos, tejidos, etc.
- Universales, como animal, hombre, etc.
- Mentales (o ideales), como ideas, pensamientos, conceptos, etc.
- Matemáticas, como números, conjuntos, figuras geométricas, vectores, matrices, etc.
- Imaginarias, como Don Quijote, Fausto, etc.
- Espirituales, como Dios, los ángeles, etc.
El problema ontológico tiene varios aspectos. Algunos de ellos son:
- Hay entidades que son especulativas, con partidarios y detractores de su existencia. Unas se demuestran finalmente (como los átomos o las ondas gravitacionales). Otras se demuestran finalmente que no existen (como el planeta Vulcano). Hay también teorías enfrentadas que postulan entidades diferentes en un determinado dominio.
- El problema de la existencia de los universales, que no hacen referencia a ninguna entidad concreta. Si existen, ¿cuál es su naturaleza? ¿Existen en las entidades concretas o existen independientemente de ellas? ¿Son solo nombres? Un problema análogo es el de las entidades abstractas.
- El problema de nombrar entidades que no existen, como la nada. La nada es un concepto contradictorio. Por un lado, nos estamos refiriendo con un nombre a algo, por lo que ese algo tiene que existir (si no, no podríamos darle un nombre). Y por otro lado, según su significado, no existe.
- El problema de las entidades mentales. ¿Existen realmente o se trata solo de meros procesos neuronales?
- El problema del lenguaje en general. ¿Cuál es el nivel ontológico del lenguaje?
- El problema de las descripciones definidas, un problema planteado por Russell ejemplificado por la frase “El actual rey de Francia es calvo”. Esta frase se está refiriendo a una entidad que no existe y, sin embargo, se le está asignando una atributo (ser calvo). ¿Cómo se le puede asignar un atributo a algo que no existe?
- El problema de la posible existencia de entidades primarias o fundamentales, de las que derivarían todas las demás. De existir, tendrían que ser de supremo nivel de abstracción. Y el problema de la relación de estas entidades primeras con las entidades matemáticas, que son también abstractas. ¿Se trata de las mismas entidades?
- El problema de las ontologías representacionales. Por ejemplo, las asociadas con lenguajes formales en general y los lenguajes de ontologías en particular.
- El problema de las entidades imaginarias y posibles. ¿Existen estas entidades en alguna dimensión superior?
Quine ha estudiado el problema ontológico y ha lanzado varias ideas:
- El principio ontológico tiene una formulación muy sencilla y una respuesta también muy sencilla: “¿Qué hay? Todo”. Es decir, no existe un problema ontológico universal, general o absoluto. El problema ontológico es relativo: solo afecta a las entidades particulares concretas, cada una de las cuales presenta un problema distinto.
- Aboga por no utilizar nombres para referirnos a entidades que no sabemos si existen o no, porque si las asignamos nombres entonces estamos suponiendo su existencia. Para evitar esta paradoja (que denomina “la barba de Platón”), propone utilizar solo predicados. Con ellos se puede negar la existencia de una entidad que tenga una propiedad concreta.
- Existe un “ascenso semántico” según el cual, en vez de hablar de cosas, nos centramos en el lenguaje con el que hablamos de las cosas para eludir el problema de la existencia de las cosas.
- El “compromiso ontológico” es una actitud según la cual aceptamos la existencia de algunas entidades como reales, como por ejemplo, en las teorías científicas formalizadas matemáticamente. Afirma que “Ser es ser el valor de una variable”. Se refiere a que asumimos que una variable es una entidad real y el origen de la reificación y, por lo tanto, de la ontología.
- Afirma que “No hay entidad sin identidad”. Toda entidad debe tener identidad para poder distinguirla de las demás. En el caso de que un objeto sea el valor de una variable es susceptible de ser identificado dentro del contexto de una teoría.
Para Platón, hay unas entidades ideales que residen en un reino superior e independiente del mundo real, el mundo de las Ideas o de las Formas, que son las entidades verdaderamente reales, y que se manifiestan de manera imperfecta en el mundo sensible.
Para Aristóteles, todo debe fundamentarse en unos primeros principios o causas primeras. Buscaba el ser de las cosas, no por sus accidentes, sino por su “sustancia”, el sustrato último y fundamento de tolo lo que existe.
Para los neopositivistas del Círculo de Viena, toda entidad metafísica carece de sentido porque no se puede verificar experiencialmente.
Para el grupo Bourbaki, las entidades matemáticas son estructuras, relaciones entre elementos cuya naturaleza es indiferente. Hay tres tipos de estructuras madre: las algebraicas, las de orden y las topológicas. A partir de ellas se pueden generar nuevas estructuras, que tienen una estructura jerárquica. Esta concepción estructuralista de la matemática ha sido generalizada a patrones de estructuras por Michael Resnik y Stewart Shapiro [Resnik, 1977].
El problema epistemológico
La epistemología es el estudio de la adquisición de conocimiento. El problema epistemológico tiene también muchos aspectos, entre ellos: ¿Cómo obtenemos el conocimiento? ¿Aprendemos mediante la experiencia sensible o por la razón? ¿Interviene la intuición? ¿Cómo se relaciona la mente con la realidad? ¿Cómo es posible que el conocimiento se puede transmitir de una mente a otra a través del lenguaje? ¿Cómo se relaciona el conocimiento objetivo y el subjetivo? ¿Existe un conocimiento a priori?
Ontologías Superiores (Upper Ontologies)
En informática, una ontología superior −también conocida como “ontología universal”, “ontología de supremo nivel” (top level ontology) y “ontología fundamental” (foundation ontology)− es un hipotético conjunto de conceptos de supremo nivel de abstracción comunes a todos los dominios del conocimiento. Estos conceptos se denominan también “primitivas semánticas” o “conceptos primarios”.
Se ha discutido mucho sobre la existencia o no de una ontología universal. Si existiese sus ventajas serían enormes:
- Toda ontología particular sería resultado de una cierta combinatoria de la ontología universal. Por lo tanto, todas las ontologías de los dominios particulares estarían conectadas a través de la ontología universal.
- Proporcionaría un sistema estándar de representación del conocimiento. Y un medio para integrar conocimiento heterogéneo procedente de diferentes campos.
- Si además existiera un lenguaje basado en una ontología universal sería un lenguaje universal, un lenguaje estándar para las ciencias formales.
Históricamente ha habido numerosos intentos de establecer una ontología universal, pero ninguna ha conseguido la aceptación general para ser considerada estándar de facto. La razón principal ha sido su complejidad: demasiados conceptos primarios y demasiadas relaciones entre esos conceptos, una complejidad similar al del lenguaje humano o incluso superior por la dificultad añadida de tener que aprender una sintaxis. Hay ontologías superiores que constan de miles de elementos, entre clases, propiedades y relaciones.
MENTAL, un Lenguaje de Definición de Ontologías
Ontología vs. Epistemología
La ontología estudia la esencia de la realidad, su estructura o esencia profunda. La epistemología estudia la naturaleza profunda o esencia del conocimiento. Pero ontología y epistemología comparten la misma esencia, que son los arquetipos de la conciencia. El conocimiento se va creando y articulando sobre estos arquetipos.
Para Kant, la esencia de la realidad (el noúmeno) es incognoscible. Solo podemos conocer los fenómenos, lo superficial, lo percibido por los sentidos. El límite entre lo superficial y lo profundo reside en los arquetipos primarios.
Según el principio de causalidad descendente, la naturaleza profunda tiene que ser necesariamente abstracta, que se manifiesta en lo concreto. Existen muchas abstracciones, pero hay abstracciones universales o supremas que fundamentan a todas las demás. Son universales porque no hacen ninguna referencia a ninguna entidad particular, sino a una clase o categorías de entidades. Son un conjunto finito de conceptos fundamentales o primarios, también denominados “primitivas semánticas universales”. Estos conceptos se manifiestan en el lenguaje humano en forma de gramática semántica, que está constituida por las posibles relaciones entre los conceptos primarios.
El problema ontológico es el problema de la fundamentación de la realidad, y el problema epistemológico es el problema de la fundamentación del conocimiento. Ambas fundamentaciones se basan en las abstracciones supremas o universales, que son primitivas semánticas universales, arquetipos primarios y categorías filosóficas.
El problema epistemológico es el problema de conocer el conocimiento, lo que es imposible. Para lograrlo hay que situarse en una perspectiva superior, cuyo límite reside precisamente en los arquetipos primarios. En este sentido, el problema epistemológico es el mismo que el problema ontológico.
Según la “revolución copernicana” de Kant, las estructuras de la mente humana condicionan el conocimiento y la experiencia. Pero lo que condiciona y fundamenta todo no son las estructuras mentales, sino los arquetipos primarios comunes al mundo interno y al externo.
El mundo ideal de las Formas de Platón es un mundo de abstracciones estáticas e independientes, y no es un mundo que se pueda reducir a un solo conjunto de abstracciones o Formas universales. En cambio, para Jung, los arquetipos primarios es un conjunto reducido de arquetipos primarios, que son de naturaleza dinámica y que no son autónomos, sino interdependientes.
Mundo interno (psíquico) y mundo externo (físico) comparten los mismos arquetipos primarios. La ontología profunda o suprema está basada en abstracciones universales. La epistemología es la manifestación de esa ontología universal en la mente humana. Así que la ontología y la epistemología comparten la misma esencia, los mismos fundamentos, los mismos arquetipos primarios. La Naturaleza sigue el principio de la máxima simplicidad.
MENTAL, una ontología-epistemología universal
De la misma manera que el pez no es capaz de percibir el agua, nosotros no percibimos los conceptos primarios porque son tan simples que no somos conscientes de ellos porque forman parte de toda la realidad, interna y externa. Por eso, paradójicamente, es tan difícil encontrar lo más simple, lo más fundamental, porque estamos inmersos en ellos. La simplicidad, la abstracción, la verdad y lo fundamental son conceptos que van unidos.
Todo el mundo posee ontologías mediante las cuales conceptualiza el mundo que le rodea. Estas ontologías no son explícitas. Por ejemplo, cuando oímos o leemos la palabra “bicicleta”, automáticamente imaginamos una bicicleta genérica y nos creamos una representación mental con propiedades intrínsecas (dos ruedas, manillar, sillín, etc.). El alma imagina, la mente conceptualiza, la conciencia relaciona, incluyendo la relación entre alma y mente. Y la mente conceptualiza gracias a la conciencia. Y en toda relación están implicados (o subyacen) los arquetipos primarios. Por eso los arquetipos primarios los denominamos “arquetipos de la conciencia”.
A nivel informático, la ontología y la epistemología se basan en los arquetipos primarios, que son conceptos de suprema sencillez y generalidad. Con MENTAL el desarrollo de ontologías se realiza de manera más sencilla y con más claridad.
MENTAL proporciona una ontología-epistemología universal:
- Es una ontología porque se ocupa de los conceptos y sus relaciones. Es universal porque es aplicable a muchos dominios, proporcionándoles:
- Una base semántica común.
- Una vía de integración, relación y comunicación que diluye sus fronteras.
- Un marco conceptual genérico de referencia.
- Una normalización semántica.
- Una ontología universal que fundamenta las ontologías particulares.
- Es un lenguaje universal, una lingua franca que permite expresar ontologías y epistemologías. Son primitivas semánticas universales, arquetipos primarios y categorías filosóficas.
- Los dominios tienen ontologías, y los lenguajes también se basan en ontologías. En MENTAL, la ontología es universal, incluyendo la ontología representacional. Se basa en arquetipos primarios que son comunes a todo porque todo tiene la misma estructura conceptual subyacente. Por eso el mundo es inteligible. Todas las ontologías se reducen a las ontologías fundamentales, que son los grados de libertad de toda la realidad interna y externa.
- La ontología universal son los arquetipos primarios. Las manifestaciones son las expresiones concretas. Esto permite diferenciar entre ser y existir. Los arquetipos primarios son el ser y sus manifestaciones son el existir. El existir se fundamenta en el ser. Esto generaliza y matiza la concepción de Quine: las variables son realmente los arquetipos primarios, y las expresiones son los valores, que representan su identidad.
- Las relaciones entre los conceptos primarios se realizan a través de los mismos conceptos primarios. A nivel lingüístico esto implica que la semántica estructural es igual a la semántica lexical.
- Es un lenguaje basado en símbolos, para trascender y ser independiente de todo lenguaje humano concreto.
Un ejemplo de ontología
Una ontología sobre Pintura:
- Clases: Cuadros, Pintores y Museos.
- Relaciones:
Cuadro-Pintor (un cuadro tiene un autor, el pintor).
Cuadro-Museo (un cuadro está en un museo).
Estas relaciones son 1:1. Las relaciones inversas Pintor-Cuadros y Museo-Cuadros son 1:n (1 a varios).
Clase Cuadros:
( Cuadros = {"Las Meninas" "Monna Lisa" "Guernica"} )
También se podría representar mediante el atributo cuadro
:
("Las Meninas"/cuadro
"La gallina ciega"/cuadro
"Guernica"/cuadro
estableciendo una relación de equivalencia condicional entre un atributo y su pertenencia a un conjunto. En nuestro caso:
〈( x/cuadro ↔ x∈Cuadros )〉
Clase Pintores:
( Pintores = {"Velazquez" "Leonardo" "Picasso"} )
Atributo: pintor
.
Equivalencia entre clase y atributo: 〈( x/pintor ↔ x∈Pintores )〉
Clase Museos:
( Museos = {"Prado" "Louvre" "Reina Sofía"} )
Atributo: museo
.
Equivalencia entre clase y atributo: 〈( x/museo ↔ x∈Museos )〉
Relación Cuadro-Pintor. Se realiza mediante la función Autor
, que hace corresponder a cada cuadro su autor.
( Autor("Las Meninas") = "Velazquez" )
( Autor("Monna Lisa") = "Leonardo" )
( Autor("Guernica") = "Picasso" )
Relación Cuadro-Museo. Se realiza mediante la función Museo, que establece una correspondencia entre cada cuadro y el museo donde se ubica:
( Museo("Las Meninas") = "Prado" )
( Museo("Monna Lisa") = "Louvre" )
( Autor("Guernica") = "Reina Sofía" )
A partir de estas simples clases y relaciones podemos realizar consultas. Por ejemplo:
- Todos los cuadros de un pintor
p
:
〈( CuadrosDe(p) = {〈( c∈Cuadros ← (Autor(c) = p) )〉} )〉
CuadrosDe("Picasso")// ev. {"Guernica"}
CuadrosDe("Goya")// ev. {} (conjunto vacío)
- Todos los cuadros de un pintor
p
en un museo m
:
〈( CuadrosDeEn(p m) = {〈( c∈Cuadros ← (Autor(c) = p)
← (Museo(c) = m) )〉} )〉
CuadrosDe("Picasso" "Reina Sofía") // ev. {"Guernica"}
CuadrosDe("Picasso" "Prado") // ev. {}
- Todos los pintores que son autores de cuadros en un museo
m
:
〈( PintoresEnMuseo(m) = {〈( p∈Pintores ← (Autor(c) = p)
← (Museo(c
) = m) ← c∈Cuadros )〉} )〉
PintoresEnMuseo("Prado") // ev. {"Velazquez"}
PintoresEnMuseo("British") // ev. {}
En este ejemplo podemos ver la diferencia entre ontología y base de conocimientos. En la ontología se definen las clases y las relaciones genéricas entre clases. En la base de conocimientos se definen las instancias de las clases y sus relaciones concretas.
La ontología y la base de conocimientos definidas se podrían ampliar. Por ejemplo, se podría definir nuevas clases, como: la nacionalidad de los pintores, la ciudad y el país donde se ubica cada museo, etc. Y hacer preguntas como: los cuadros de un pintor que están en un determinado país, los pintores de una determinada nacionalidad, etc.
Además de la consulta, se podría hacer el mantenimiento de las clases y relaciones:
Añadir elemento x
a la clase C
:
( C = {C↓ x} )
Eliminar elemento x
de la clase C
:
( C = C/(x=θ) )
Sustituir el elemento x
de la clase C
por el elemento y
:
( C = C/(x=y) )
Adenda
Lenguajes, sistemas y metodologías de ontologías
Para representar ontologías es muy importante disponer de un lenguaje formal. Existen varios lenguajes de ontologías o de representación del conocimiento, entre ellos:
- CycL. Es el lenguaje de ontologías del proyecto Cyc. Se basa en la lógica de predicados de primer orden con algunas extensiones de orden superior.
- DAML. DARPA’s Agent Markup Language.
- F-Logic. Frame Logic. Lenguaje de ontologías para representar el conocimiento.
- Gellish. Es un lenguaje formal de modelado conceptual extensible mediante reglas.
- IDEF5. Integrated Definition for Ontology Descripription Capture Method. Es un método para modelar ontología orientado a la ingeniería de software.
- KIF. Knowledge Interchange Format. Se basa en la lógica de primer orden utilizando como sintaxis expresiones S (S-expressions). Una expresión S (o expresión simbólica) es una notación de representación de estructuras de datos en forma de árbol. Se utiliza preferentemente en el lenguaje Lisp.
- OIL. Ontology Inference Layer.
- OWL. Web Ontology Language. Lenguaje para definir ontologías orientado a la web estándar y a la web semántica.
- RIF. Rule Interchange Format. Es una parte de la infraestructura de la web semántica.
- SHOE. Simple HTML Ontology Extensions.
Actualmente, las organizaciones y entidades que desarrollan ontologías emplean principalmente el lenguaje OWL, un lenguaje genérico para representar ontologías, pero especialmente orientado para la Web Semántica.
Existen también diferentes metodologías para la implementación de ontologías, como Methontology y On-To-Knowledge.
Hay varios sistemas software para implementar ontologías como Protégé, Ontolingua y Chimaera, Annotea, OrtoWeb, SchemaWeb. Protégé es una de las más conocidas y utilizadas. Con ella se pueden crear fácilmente clases, propiedades de las clases, crear instancias, etc., todo ello mediante una interfaz de usuario amigable. Tiene su propio lenguaje interno de ontologías, pero permite también trabajar con RDF y OWL.
Ejemplos de ontologías superiores
Podemos destacar las siguientes:
- CIDOC Conceptual Reference Model (CRM).
- COSMO (COmmon Semantic MOdel).
- Cyc (abreviatura de Encyclopedia).
- DOLCE (Descriptive Ontology for Linguistic and Cognitive Engineering).
- GFO (General Formal Ontology).
- GUM (Generalized Upper Model).
- OntoUML. Es una extensión de UML para definir ontologías. Está basado en UFO (Unified Foundational Ontology).
- PROTON (PROTo ONtology).
- SUMO (Suggested Upper Merged Ontology).
- UFO (Unified Foundational Ontology).
- UMBEL (Upper Mapping and Binding Exchange Layer).
- WordNet.
- YAMATO (Yet Another More Advanced Top Ontology).
OWL (Web Ontology Language)
OWL es el lenguaje estándar del W3C (World Wide Web Consortium) para definir ontologías en la web semántica. Realmente, el lenguaje debería llamarse WOL, pero se escribe OWL por 3 razones: 1) porque es un acrónimo más fácil de pronunciar en inglés; 2) porque significa “lechuza”; 3) por referencia a One World Language, un ambicioso proyecto de representación del conocimiento (con su antología asociada) de los años 1970’s de Bill Martin que intentaba ser un lenguaje universal para representar el significado del lenguaje natural.
OWL se basa en dos principios: 1) el significado de un concepto del lenguaje es la totalidad de los otros conceptos relacionados con él; 2) en la existencia de profundas relaciones entre la representación del conocimiento (por una parte) y la estructura y las metáforas del lenguaje natural (por otra).
Características:
- Permite definir clases, propiedades, clases equivalentes, clases disjuntas, combinaciones booleanas de clases, restricciones, sentencias lógicas y sistemas de razonamiento.
- Es un lenguaje lógico, que implementa razonamiento deductivo. Está basado en la lógica descriptiva, un subconjunto de la lógica de predicados orientada a representación del conocimiento.
- Es un lenguaje construido sobre RDF y RDFS y codificado en XML. Pero añade más vocabulario para describir clases y propiedades y relaciones.
- Permite definir propiedades de las propiedades (si son transitivas, inversas, únicas, etc.).
- Permite definir agentes automáticos.
Bibliografía
- Akerkar, R. Foundations of the Semantic Web. XML, RDF & Ontology. Alpha Science Intl. Ltd., 2009.
- Allemang, Dean; Hendler, James. Semantic Web for the Working Ontologist. Effective Modeling in RDFS y OWL. Morgan Kaufmann, 2008.
- Bennett, B.; Fellbaum, C. Formal Ontology in Information Systems. Proceedings of the Forth International Conference (FOIS 2006), vol. 150. Frontiers in Artificial Intelligence and Applications. IOS Press, 2006.
- Brachman, Ronald J.; Levesque, Hector J. Knowledge representation and reasoning. Elsevier, 2004.
- Breuker, J.; Muntjewerff, A.; Bredewej, B. Ontological modelling for designing educational systems. In Proceedings of the AI-ED 99 Workshop on Ontologies for Educational Systems, Le Mans, France. IOS Press, 1999.
- Eschenbach, C.; Gruninger, M. Formal Ontology in Information Systems. Proceedings of the Fifth International Conference (FOIS 2008), vol. 183. Frontiers in Artificial Intelligence and Applications. IOS Press, 2008.
- Gómez-Pérez, A; Fernández-López, M.; Corcho, O. Ontological Engineering. Springer, 2004.
- Gruber, Thomas R. A translation approach to portable ontology specifications. Knowledge Acquisition 5 (2): 199-220, June 1993. Disponible en Internet.
- Gruber, Thomas R. Toward Principles for the Design of Ontologies Used for Knowledge Sharing. International Journal of Human-Computer Studies. Special issue: the role of formal ontology in the information technology archive, vol. 43, issue 5-6, Nov./Dec. 1995. Academic Press, USA.
- Gruninger, M.; Fox, M.S. Methodology for the Design and Evaluation of Ontologies. In: Proceedings of the Workshop on Basic Ontological Issues in Knowledge Sharing, IJCAI-95, Montreal, 1995.
- IEEE Standar Upper Ontology Working Group. http://suo.ieee.org.
- Neches, R.; Fikes, R.E.; Finin, T.; Gruber, T.; Senator, T.; Swartout, W.R. Enabling Technology for Knowledge Sharing. AI Magazine, 12 (3): 36-56, 1991.
- Quine, W.v.O. Relatividad ontológica y otros ensayos. Tecnos, 1974.
- Quine, W.v.O. Acerca de lo que hay. En “Desde un punto de vista lógico”, Ariel, pp. 25-47, 1974.
- Resnik, Michael. Mathematics as a science of patterns. Clarendon Press y Oxford University Press, 1977.
- Russell, Stuart J.; Norving, Peter. Inteligencia Artificial. Un enfoque moderno. Pearson Education, 2004.
- Sowa, John F. Knowledge Representation: Logical, Philosophical, and Computational Foundations, Brooks Cole Publishing Co., 2000.
- Uschold, M.; Gruninger, M. Ontologies: Principles, Methods and Applications. Knowledge Engineering Review 11 (2), 1996.
- Weigand, H. Multilingual Ontology-Based Lexicon for News Filtering – The TREVI Project. In K. Mahesh: 138-159, 1997.